package com.ldu.houserent.common.dto;

import lombok.Data;

/*
    前后端传输的Json格式的数据     数据传输对象Data Transfer Object
 */
@Data
public class JsonResult {
    //1.返回的状态码  0失败 1成功
    private Integer code;

    //2.返回的信息
    private String msg;

    //3.返回的数据（对象）
    private Object result;

    //有返回数据的构造方法
    public JsonResult(Integer code, String msg, Object result) {
        this.code = code;
        this.msg = msg;
        this.result = result;
    }
    //没有返回数据的构造方法
    public JsonResult(Integer code, String msg) {
        this.code = code;
        this.msg = msg;
    }
    //返回状态码和数据的构造方法
    public JsonResult(Integer code, Object result) {
        this.code = code;
        this.result = result;
    }

    //成功的返回的构造方法
    public static JsonResult success(){     //静态，可以直接调用
        return new JsonResult(1,"操作成功");
    }
    //成功的返回的构造方法，带有msg信息
    public static JsonResult success(String msg){     //静态，可以直接调用
        return new JsonResult(1,msg);
    }
    //成功的返回的构造方法，带有msg信息和对象
    public static JsonResult success(String msg,Object result){     //静态，可以直接调用
        return new JsonResult(1,msg,result);
    }

    //错误的返回的构造方法，带有msg信息
    public static JsonResult error(String msg){
        return new JsonResult(0,msg);
    }
    //错误的返回的构造方法，带有msg信息和对象
    public static JsonResult error(String msg,Object result){     //静态，可以直接调用
        return new JsonResult(0,msg,result);
    }

}
